# coding: utf-8
import os
import pytest,allure
from Outputs.LOG import Log
from selenium import webdriver
from Config.globalVars import G

Log = Log()
log = Log.log2()


# pytest配置对象
# 注意此对象只能在顶层目录的conftest.py文件中完成
# action：store 存储参数
# default 参数默认值
# help 参数帮助信息，此处为无
def pytest_addoption(parser):
    parser.addoption("--cmdopt", action="store",
                     default="chrome",
                     help="将自定义命令行参数 '--cmdopt' 添加到 pytest 配置中")


# 从配置对象获取 cmdopt 的值
# 然后任何 fixture 或测试用例都可以调用 cmdopt 来获得设备信息
@pytest.fixture
def cmdopt(pytestconfig):
    return pytestconfig.getoption("--cmdopt")


@pytest.fixture
def gaga():
    return "oooooooooooooooo"


@pytest.fixture(scope='function', autouse=False, name='Firefox')
def browser_Firefox():
    """
    选择Firefox火狐浏览器执行自动化
    :return:
    """
    driver = webdriver.Firefox()
    driver.maximize_window()  # 浏览器最大化
    allure.step(f"打开{driver}浏览器")
    log.info(f"打开{driver}浏览器")
    yield driver  # 把driver带出 def函数  并退出def函数


@pytest.fixture(scope='function', autouse=False, name='Ie')
def browser_Ie():
    """
    选择ie浏览器执行自动化
    :return:
    """
    driver = webdriver.Ie()
    driver.maximize_window()  # 浏览器最大化
    allure.step(f"打开{driver}浏览器")
    log.info(f"打开{driver}浏览器")
    yield driver  # 把driver带出 def函数  并退出def函数


@pytest.fixture(scope='function', autouse=False, name='Edge')
def browser_Edge():
    """
    选择Edge浏览器执行自动化
    :return:
    """
    driver = webdriver.Edge(executable_path='\\kuangjia_2\\Config\\Pages\\Edge\\msedgedriver.exe')
    driver.maximize_window()  # 浏览器最大化
    allure.step(f"打开{driver}浏览器")
    log.info(f"打开{driver}浏览器")
    yield driver  # 把driver带出 def函数  并退出def函数


@pytest.fixture(scope='function', autouse=False, name='Chrome')
def browser_Chrome():
    """
    选择Chrome谷歌浏览器执行自动化
    :return:
    """
    driver = webdriver.Chrome(executable_path='\\kuangjia_2\\Config\\Pages\\Chromedriver\\chromedriver.exe')
    driver.maximize_window()  # 浏览器最大化
    allure.step(f"打开{driver}浏览器")
    log.info(f"打开{driver}浏览器")
    yield driver  # 把driver带出 def函数  并退出def函数


if __name__ == '__main__':
    print("**********************************")
    # test()
    print("**********************************")
